Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2013
Тип роботи:
Розрахункова робота
Предмет:
Автоматизоване проектування комп’ютерних систем

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ Національний університет “Львівська політехніка” Інститут екології, природоохоронної діяльності та туризму ім. В’ячеслава Чорновола КАФЕДРА ЗАГАЛЬНОЇ ЕКОЛОГІЇ ТА ЕКОІНФОРМАЦІЙНИХ СИСТЕМ Розрахункова робота з дисципліни Автоматизація проектування комп’ютерних систем Мета розрахункової роботи: здобути навики аналізу HDL-описів обчислювальних вузлів для подальшого їх використанням при проектуванні комп’ютерних систем. HDL реалізація АЛП має наступний вигляд: -- File: ALU.vhd LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.std_logic_arith.ALL; USE IEEE.std_logic_unsigned.ALL; ENTITY ALU IS PORT(curr_acc: IN std_logic_vector(3 DOWNTO 0); curr_b: IN std_logic_vector(3 DOWNTO 0); curr_carry: IN std_logic; curr_zero: IN std_logic; alu_op: IN std_logic_vector(2 DOWNTO 0); next_acc: OUT std_logic_vector(3 DOWNTO 0); next_carry: OUT std_logic; next_zero: OUT std_logic); END ALU; ARCHITECTURE behavioral OF ALU IS -- Constants responding ALU operations CONSTANT NOP_OP: std_logic_vector (2 DOWNTO 0):= "000"; CONSTANT LOAD_OP: std_logic_vector (2 DOWNTO 0):= "001"; CONSTANT ADD_OP: std_logic_vector (2 DOWNTO 0):= "010"; CONSTANT XOR_OP: std_logic_vector (2 DOWNTO 0):= "011"; CONSTANT AND_OP: std_logic_vector (2 DOWNTO 0):= "100"; CONSTANT SET_C_OP: std_logic_vector (2 DOWNTO 0):= "101"; CONSTANT CLR_C_OP: std_logic_vector (2 DOWNTO 0):= "110"; BEGIN PROCESS (curr_acc, curr_b, curr_carry, curr_zero, alu_op) VARIABLE sum : std_logic_vector (4 DOWNTO 0); BEGIN CASE alu_op IS WHEN NOP_OP => next_acc <= curr_acc; next_carry <= curr_carry; next_zero <= curr_zero; WHEN XOR_OP=> next_acc <= curr_acc XOR curr_b; next_carry <= curr_carry; next_zero <= curr_zero; WHEN ADD_OP => sum := ('0'& curr_acc)+('0' & curr_b)+("0000" & curr_carry); next_acc <= sum (3 DOWNTO 0); next_carry <= sum (4); next_zero <= curr_zero; WHEN LOAD_OP => next_acc <= curr_b; next_carry <= curr_carry; next_zero <= curr_zero; WHEN AND_OP => next_acc <= curr_acc; next_carry <= curr_carry; next_zero <= NOT((curr_acc(3) AND curr_b(3)) OR (curr_acc(2) AND curr_b(2)) OR (curr_acc(1) AND curr_b(1)) OR (curr_acc(0) AND curr_b(0))); WHEN SET_C_OP => next_acc <= curr_acc; next_carry <= '1'; next_zero <= curr_zero; WHEN CLR_C_OP => next_acc <= curr_acc; next_carry <= '0'; next_zero <= curr_zero; WHEN OTHERS => next_acc <= curr_acc; next_carry <= curr_carry; next_zero <= curr_zero; END CASE; END PROCESS; END behavioral; Завдання на розрахункову роботу: Доповнити наведений код коментарями що пояснюють його роботу Пояснити роботу АЛП при наступних вхідних сигналах alu_op – порядковий номер студента в групі (1 до 6, далі по колу, 7=1) curr_acc – рівне кількості літер в імені студента (1 до 15, далі по колу, 16=1) curr_b – рівне кількості літер в прізвищі студента (1 до 15, далі по колу, 16=1) curr_carry – «1», якщо кількість літер в імені студента парна, інакше «0» curr_ zero – «1», якщо кількість літер в прізвищі студента парна, інакше «0» Пояснити роботу АЛП при тих же вхідних сигналах, що і в п.2, але значення alu_op збільшити на 3. Виконання завданння Студент Миколів Василь, № в журналі 14. alu_op =001 (2) curr_acc = 0110 (6 літери) curr_b = 0111 (7 літер) curr_carry – 1 (парна кількість) curr_ zero – 1 (парна кількість) Основу АЛП складає процес PROCESS зі списком чутливості (curr_acc, curr_b, curr_carry, curr_zero, alu_op) Процес виконується при зміні будь-якого з сигналів із списку чутливості. Оголошена Змінна VARIABLE sum : std_logic_vector (4 DOWNTO 0); Типу масив з 4 однорозрядних елементів (4 біти). Оператор вибору CASE аналізує значення вхідного сигналу alu_op. В нашому випадку alu_op = "001"; або alu_op = LOAD_OP (задана константою для покращення читабельності). Тому буде вибрано блок операторів WHEN LOAD_OP => next_acc <=’0111’; -- присвоїти сигналу next_acc значення вхідного сиг...
Антиботан аватар за замовчуванням

13.02.2013 11:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини